package cn.itcast.nems.journal.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

/**
 * <p>
 * 班级学籍信息
 * </p>
 *
 * @author zhouwei
 * @since 2024/1/12 9:22 AM
 **/
@Data
public class JournalFinalClazzDTO implements Serializable {
    /**
     * EMS班级ID
     */
    private Integer clazzId ;
    /**
     * 开班时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @JsonSerialize(using = LocalDateSerializer.class)
    @JsonDeserialize(using = LocalDateDeserializer.class)
    private LocalDate startDate ;
    /**
     * 班级预计结课日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @JsonSerialize(using = LocalDateSerializer.class)
    @JsonDeserialize(using = LocalDateDeserializer.class)
    private LocalDate planFinalDate;
    /**
     * 在途人数
     */
    private Integer lockQuantity  ;
    /**
     * 在班人数
     */
    private Integer studentQuantity ;
    /**
     * 在途学籍列表
     */
    private List<JournalFinalClazzLockRecordDTO> lockRecordList  ;
}
